﻿using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using DefCore.Mapping;
using DefCore.Core;
using DefCore;

namespace DefCore.Tools
{
    /*
        public enum CellConverterEnum {
        Open = 1,
        Closed = 2,
        Stone = 3,
        Water = 4,
        Lava = 5,
        IronOre = 6,
        Coal = 7,
    }    
     */
    public static class MapLayouts
    {
        public static int[,] BasicMap20x20
        {
            get
            {
                return new int[,]
                {
                    {3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 },
                    {3, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3 },
                    {3, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3 },
                    {3, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3 },
                    {3, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3 },
                    {3, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3 },
                    {3, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3 },
                    {3, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3 },
                    {3, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 7, 6, 6, 1, 1, 1, 1, 3 },
                    {3, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 7, 7, 6, 1, 1, 1, 1, 3 },
                    {3, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 7, 6, 6, 1, 1, 1, 1, 3 },
                    {3, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 7, 6, 1, 1, 1, 1, 1, 3 },
                    {3, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3 },
                    {3, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3 },
                    {3, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3 },
                    {3, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3 },
                    {3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 3 },
                    {3, 6, 6, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 6, 6, 3 },
                    {3, 6, 6, 6, 6, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 6, 6, 6, 6 },
                    {3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6, 6, 6 },
                };
            }
        }

        public static int[,] BasicMap6x6
        {
            get
            {
                return new int[,]
                {
                    {2, 2, 2, 2, 2, 2,},
                    {2, 2, 2, 2, 2, 2,},
                    {2, 2, 2, 2, 2, 2,},
                    {2, 2, 2, 2, 2, 2,},
                    {2, 2, 2, 2, 2, 2,},
                    {2, 2, 2, 2, 2, 2,},
                };
            }
        }

        public static int[,] StructureTestMap
        {
            get
            {
                return new int[,]
                {
                    {3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
                    {3, 2, 2, 2, 4, 4, 2, 2, 2, 3},
                    {3, 2, 2, 2, 4, 4, 2, 2, 2, 3},
                    {3, 2, 2, 2, 4, 4, 2, 2, 2, 3},
                    {3, 4, 4, 4, 4, 4, 4, 4, 4, 3},
                    {3, 4, 4, 4, 4, 4, 4, 4, 4, 3},
                    {3, 2, 2, 2, 4, 4, 2, 2, 2, 3},
                    {3, 2, 2, 2, 4, 4, 2, 2, 2, 3},
                    {3, 2, 2, 2, 4, 4, 2, 2, 2, 3},
                    {3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
                };
            }
        }

        public static int[,] StructureLavaTestMap
        {
            get
            {
                return new int[,]
                {
                    {3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
                    {3, 2, 2, 2, 5, 5, 2, 2, 2, 3},
                    {3, 2, 2, 2, 5, 5, 2, 2, 2, 3},
                    {3, 2, 2, 2, 5, 5, 2, 2, 2, 3},
                    {3, 5, 5, 5, 5, 5, 5, 5, 5, 3},
                    {3, 5, 5, 5, 5, 5, 5, 5, 5, 3},
                    {3, 2, 2, 2, 5, 5, 2, 2, 2, 3},
                    {3, 2, 2, 2, 5, 5, 2, 2, 2, 3},
                    {3, 2, 2, 2, 5, 5, 2, 2, 2, 3},
                    {3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
                };
            }
        }
    }
}
